home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / faq / wdj0497.zip / HEAPOLE.ZIP / COMMIT.CPP < prev   
C/C++ Source or Header  |  1997-02-03  |  2KB  |  48 lines

  1. #include <assert.h>
  2. #include <stdio.h>
  3. #include "alloc.h"
  4.  
  5. void    main(void)
  6.     {
  7.     void*   Ptrs[4096];
  8.     int     NPtrs = 0;
  9.     DWORD   Reserved0, Committed0, Reserved, Committed;
  10.     DWORD   InitialRes, InitialCommit;
  11.  
  12.     Reserved0   = MemStats(&Committed0);
  13.     AllocInit();
  14.     Reserved    = MemStats(&Committed);
  15.     printf("initializing '%s' reserved 0x%08X bytes, committed 0x%08X\n",
  16.         MALLOC_NAME, Reserved-Reserved0, Committed-Committed0);
  17.     
  18.     InitialRes  = Reserved; InitialCommit = Committed;
  19.  
  20.     assert((Ptrs[NPtrs++]=MALLOC(16*4096)) != 0);
  21.     Reserved    = MemStats(&Committed);
  22.     printf("'%s' (16pages) reserved 0x%08X bytes, committed 0x%08X\n",
  23.         MALLOC_NAME, Reserved-Reserved0, Committed-Committed0);
  24.  
  25.     Reserved0   = Reserved;
  26.     Committed0  = Committed;
  27.     while(MemStats(0) == Reserved)
  28.         {
  29.         assert((Ptrs[NPtrs++] = MALLOC(0x010000)) != 0);
  30.         assert(NPtrs < sizeof(Ptrs));
  31.         }
  32.     Reserved    = MemStats(&Committed);
  33.     printf("'%s' reserved 0x%08X bytes, committed 0x%08X\n",
  34.         MALLOC_NAME,
  35.         Reserved-Reserved0, Committed-Committed0);
  36.     while(NPtrs > 0)
  37.         FREE(Ptrs[--NPtrs]);
  38.     HEAPMIN();
  39.     
  40.     Reserved    = MemStats(&Committed);
  41.     if(Committed > InitialCommit)
  42.         printf("'%s' failed to decommit 0x%08X\n",
  43.             MALLOC_NAME, Committed-InitialCommit);
  44.     if(Reserved > InitialRes)
  45.         printf("'%s' kept reserved 0x%08x\n", MALLOC_NAME,
  46.             Reserved-InitialRes);
  47.     }
  48.